package com.bto.solar.work.dto.order;

import com.alibaba.fastjson2.JSONArray;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.bto.solar.work.dto.FormBtnsDto;
import com.bto.solar.work.entity.OrderState;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;

import java.sql.Timestamp;

/**
 * @author 王小波
 * @description:
 * @date 2023/8/19 11:40
 */
@Data
@NoArgsConstructor
@Accessors(chain = true)
public class ConstructDto {
    @ApiModelProperty("订单ID")
    @TableId(value = "order_id", type = IdType.INPUT)
    private String orderId;

    @ApiModelProperty("施工单位")
    private String organization;

    @ApiModelProperty("施工负责人")
    private String personLiable;

    @ApiModelProperty("施工负责人电话")
    private String phone;

    @ApiModelProperty("开工时间")
    private Timestamp startTime;

    @ApiModelProperty("预计完工时间")
    private Timestamp preEndTime;

    @ApiModelProperty("实际完工时间")
    private Timestamp actEndTime;

    @ApiModelProperty("验收时间")
    private Timestamp acceptTime;

    @ApiModelProperty("施工备注（选填）")
    private String remarks;

    @ApiModelProperty("施工使用组件数量（块）")
    private Integer moduleNumberReality;

    @ApiModelProperty("完工容量（W）（投保容量调用）")
    private Integer installedCapacityReality;

    @ApiModelProperty("组件功率(power)")
    private Integer modulePower;

    @ApiModelProperty("电站基础照+来料检验")
    private JSONArray electricStationMaterial;

    @ApiModelProperty("支架+防水槽安装")
    private JSONArray trestleDistributionBox;

    @ApiModelProperty("逆变器和配电箱")
    private JSONArray inverterDistributionBox;

    @ApiModelProperty("组件安装")
    private JSONArray componentInstallation;

    @ApiModelProperty("线缆安装")
    private JSONArray wireRigging;

    @ApiModelProperty("接地系统")
    private JSONArray groundingSystem;

    @ApiModelProperty("施工自检单")
    private JSONArray completionInspection;

    @ApiModelProperty("任务状态")
    private OrderState orderState;

    @ApiModelProperty("按钮信息")
    private FormBtnsDto btns;
}
